package com.example.model;

import com.example.enums.ResultStatus;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Created with IntelliJ IDEA.
 * Description:统一结果返回实体类
 * User: bjc
 * Date: 2025-07-31
 * Time: 20:49
 */
@Data
@AllArgsConstructor //生成带有全部参数的构造方法
@NoArgsConstructor
public class Result<T> {
    //描述统一格式中的数据
    private T data;
    //描述统一格式中的编码，用于区分操作
    private Integer code;
    //描述统一格式中的错误信息
    private String errMsg;



    //业务成功时返回
    public static <T> Result<T> success(T data) {
        return new Result<>(data, ResultStatus.SUCCESS.getCode(), null);
    }
    //业务失败时返回
    public static <T> Result<T> fail(String errMsg) {
        return new Result<>(null, ResultStatus.FAIL.getCode(), errMsg);
    }
}
